home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 August / Macworld (1999-08).dmg / From Macworld Readers / FREE Scripts / FREE Guides / FREE Guide Macintosh / FREE Guide • Macintosh 3.1.sea / FREE Guide • Macintosh 3.1.rsrc / TEXT_168.txt < prev    next >
Text File  |  1998-12-04  |  11KB  |  218 lines

  1.  
  2.  
  3.  
  4.  
  5. PROGRAMMING
  6.  
  7.  
  8.  
  9. A program consists of a script that can be compiled to into machine code so as to create a fully functional application. The Mac can be used without knowing about programming ‚Äî only those inclined to this odd form of enjoyment need worry about it!
  10.  
  11.  
  12.  
  13.  
  14. Standard Programming Languages 
  15. qqqqqqqqqqqqqqqqqqqqqqqqq
  16.  
  17.  
  18. An interpreter application executes each line of the program every time it‚Äôs run. This means the program runs slowly, and can‚Äôt be used as a stand-alone application. However, the effects of any changes that you make can be seen immediately.
  19.  
  20. A compiler translates the entire program into pure code before you run the program. The compiled result can be used as a stand-alone application that runs at full speed. The need to recompile the program for every minor alteration can make this a tedious process!
  21.  
  22. Programming can operate at several levels:-
  23.  
  24.  
  25. Machine Code                                                                                                        
  26.  
  27. This consists of the pure binary codes and data as used by a particular microprocessor. Very few programmers ever work at this rudimentary level.
  28.  
  29.  
  30. Assembly Language                                                                                                
  31.  
  32. This uses hexadecimal (hex) values for data and three-letter mnemonics for instruction codes. Some programmers like working at this low level!
  33.  
  34.  
  35. High Level Languages                                                                                              
  36.  
  37. These languages are written in a pseudo-English form that is reasonably easy to understand. At the same time it doesn‚Äôt require much software to convert the program into code. Common high-level programming languages include:-
  38.  
  39.  
  40.                 Language                                                      Notes                                  
  41.  
  42.               APL (A Programming Language)                        Matrix manipulation
  43.                                                                                                                           
  44.  
  45.               BASIC (Beginners All-purpose Symbolic             Easy to use but difficult                                          
  46.                         Instruction Code)                                 to read existing programs
  47.                                                                                                                           
  48.  
  49.               C                                                                                 Widely used and powerful
  50.                                                                                                                           
  51.  
  52.               COBOL (Common Business Oriented Language)       For text and records              
  53.                                                                                                                           
  54.  
  55.               Forth                                                                               Uses reverse-Polish notation
  56.                                                                                                                           
  57.  
  58.               FORTRAN (Formula Translation)                               For mathematics solutions
  59.                                                                                                                           
  60.  
  61.               LISP (List Processing)                                                For building lists
  62.                                                                                                                           
  63.  
  64.               Logo
  65.                                                                                                                           
  66.  
  67.               Pascal
  68.                                                                                                                           
  69.  
  70.               Modula-2                                                      Real-time control
  71.                                                                                                                           
  72.  
  73.  
  74.  
  75. The best languages are object orientated. This means that the programmer can achieve results without a deep understanding of a particular micro.
  76.  
  77. The Macintosh Programmers Workshop (MPW) is a complete development system comprising of editor shell, used to to edit source code, to which compilers for C, Pascal or Fortran can be added. Think C is an alternative development environment for C.
  78.  
  79.  
  80.  
  81.  
  82. AppleScript and IAC
  83. qqqqqqqqqqqqqqq
  84.  
  85.  
  86. Using AppleScript
  87. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
  88.  
  89. AppleScript is a simple programming system that comes as part of the system. By using the Script Editor you can create a macro that can work as a stand-alone application. Such a macro can undertake similar activities to those provided by QuicKeys or KeyQuencer
  90.  
  91. AppleScript, although slower than these other macro applications, is also much more powerful. This is because it can actually control an application from within its macro script ‚Äî assuming the application is actually scriptable. You can check an application‚Äôs suitability by referring to the documentation that came with it.
  92.  
  93. Userland Frontier can be used as an alternative to AppleScript.
  94.  
  95.  
  96. Installation                                                                                                           
  97.  
  98. The following items should reside in the System Installer:-
  99.  
  100.           z    In the Extensions folder:- 
  101.               AppleScript extension 
  102.                Finder Scripting Extension 
  103.                Scripting Additions folder 
  104.  
  105.           z    In the AppleScript folder:- 
  106.               AppleScript Guide (SimpleText) 
  107.                Script Editor
  108.               Automated Tasks folder (with an alias in Apple Menu Items)
  109.  
  110.  
  111. The Automated Tasks Folder                                                                                    
  112.  
  113. The Automated Tasks folder contains some useful files to get you started ‚Äî including a number of applications created with AppleScript. These come in two forms:-
  114.  
  115. ¬†             Applications with a downward arrow icon are droplets. They operate on files
  116.               ‚Äî you either drop files onto the application or launch it and open them.
  117.  
  118. ¬†             Applications with a simple icon don‚Äôt operate on specific files.
  119.               You simply double-click on them to launch them.
  120.  
  121.  
  122. The Automated Tasks folder contains:-
  123.  
  124.           z   Add Alias to Apple Menu
  125.               You can either select it and run it or drag a file onto it.
  126.  
  127.           z    Create Alias Folder
  128.               If you drop a folder called Fred onto this, a folder is created containing aliases of all the files in 
  129.               Fred ‚Äî or you can click on this file and it will ask you to name the folder on which to operate.
  130.  
  131.           z     Eject All
  132.  
  133.           z     Find Original
  134.  
  135.           z     Hide/Show Folder Sizes
  136.  
  137.           z     New Item Watcher
  138.               If you specify a folder the application will monitor it for any changes made to it.
  139.  
  140.  
  141. Using the Script Editor                                                                                            
  142.  
  143. The Script Editor should be assigned at least 700 K of memory. To create your first scripts you should use the Record Macro feature ‚Äî this generates a script from your own actions. You can then modify or add to this as necessary. You can then Save the result as a self-contained application, as an AppleScript document or as a text file.
  144.  
  145.  
  146. Problems with AppleScript                                                                                        
  147.  
  148. You may encounter problems when using AppleScript-based enhancements over a range of applications ‚Äî not all applications will accept the same script! For example, Font-o-rama (an excellent application that displays and gives keyboard access to your fonts) works with many applications, but not with ClarisWorks. It‚Äôs not really anyone‚Äôs fault ‚Äî although you could blame Apple for not setting rigid standards in the first place!
  149.  
  150. Things aren‚Äôt so bad if you‚Äôre controlling the Finder in conjunction with the Finder Scripting Extension ‚Äî its scripts never change! CanIt! (an extension and control panel combination) uses Finder scripting to simplify file trashing ‚Äî just select the file, press ‚Ć with a specified key and it‚Äôs gone!
  151.  
  152.  
  153.  
  154. Inter-application Communication
  155. wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
  156.  
  157. The Mac system allows information to be passed between two processes. Usually this involves a pair of applications and is known as Inter-application communication (IAC).
  158.  
  159.  
  160. Apple Events                                                                                                         
  161.  
  162. Apple Events (AEs) are a subset of the high-level events used by applications such as AppleScript and the Finder. They give the destination process a full set of instructions on how it should behave. This makes AEs a flexible but cumbersome form of IAC.
  163.  
  164. They come in the following sets:-
  165.  
  166.           z   Required
  167.  
  168.               All processes must accept the following instructions:-
  169.  
  170.               Open Application
  171.               Open Documents
  172.               Print Documents
  173.               Quit Application 
  174.  
  175.           z   Core
  176.  
  177.               Activities necessary for most processes:-
  178.  
  179.               Cut, Copy, Paste
  180.               Move, Save
  181.               Delete, Undo
  182.  
  183.           z   Functional Area
  184.  
  185.               Activities for a particular class of process, such as a drawing program.
  186.  
  187.           z   Custom
  188.  
  189.               Activities for software development.
  190.  
  191.  
  192. ¬∑  Only the required and core sets are specifically defined. The others can be 
  193.       implemented in slightly different ways!
  194.  
  195.  
  196. Publish and Subscribe                                                                                              
  197.  
  198. This is a simple one-way form of IAC. Any document, created in any application, can publish specified data from within itself to a designated file. A second file (created in the same application or in another application) can then subscribe to this designated file. If the original document is updated at a later date the designated file and the subscribing document can be automatically or manually updated.
  199.  
  200. The actual data is transferred in a similar manner as used in Copy and Paste.
  201.  
  202.  
  203. Process to Process Communication (PPC)                                                                                             
  204.  
  205. PPC is a low-level form of IAC. It establishes a communication session with the destination process before sending  data. Having done this, the information can be sent in a simple form ‚Äî this makes it less flexible than Apple Events.
  206.  
  207. Here‚Äôs an example of PPC in action:-
  208.  
  209.               Process 1 opens port A
  210.               Process 2 opens port B
  211.               Process 1 tells the System it‚Äôs ready for PPC
  212.               Process 2 asks the System for a session with port A
  213.  
  214. PPC is usually asynchronous ‚Äî each process executes functions which should give an instant response. The system may provide a call-back to confirm any operations or flags. Since PPC works in both directions the software can report any problems that occur.
  215.  
  216.  
  217.  
  218. ¬©Ray White. All Rights Reserved 1997